# 在不退出程序的前提下，可以允许用户继续输入新一组数据计算
while True:
    # 输入第一个数字并判断是否非数值型
    a = input('请输入第一个数字：')
    while not a.isdigit():
        print('ERR:非法输入，请输入数字!')
        a = input('请输入第一个数字：')
        if a.isdigit():
            break
    num_a = float(a)    #输入字符串转换为浮点数

    # 输入运算符，并判断是否输入非法
    cal = input('请输入运算操作符（+ - * /）：')
    while cal not in ['+','-','*','/']:
        print('ERR:非法输入，请输入加减乘除运算符（+ - * /）中的一个!')
        cal = input('请输入运算操作符（+ - * /）：')
        if cal in ['+','-','*','/']:
            break

    # 输入第二个数字并判断是否非数值型
    b = input('请输入第二个数字：')
    while not b.isdigit():
        print('ERR:非法输入，请输入数字!')
        b = input('请输入第二个数字：')
        if b.isdigit():
            break
    num_b = float(b)

    # 运算计算
    if cal == '+':
        num_c = num_a + num_b
    if cal == '-' :
        num_c = num_a - num_b
    if cal == '*':
        num_c = num_a * num_b
    if cal == '/':
        num_c = num_a / num_b

    # 输出结果
    print(f'【{num_a} {cal} {num_b} 的结果是：{num_c}】')


